An enterprise resource planning (ERP) system is a computerized system that enables an enterprise to integrated all data and processes of the enterprise into a unified system. The enterprise may be a for-profit organization or business such as a company or corporation, or a non-profit organization such as a non-profit company or a governmental entity. Enterprises often rely heavily on the function and performance of their ERP systems for management purposes, such as keeping track of large amounts of items flowing through the enterprises. These items may be physical items (physical component parts and finished products, parcels, boxes, warehouse merchandises, etc.) or abstract items (installed software, consulting services rendered, etc.). For example, if an ERP system runs too slow, the enterprise cannot ship products to customers as rapidly as desired, leading to loss of profits, unhappy customers, etc. Often times, an ERP system must interact with the “real world” in order to obtain information on the locations of items and to provide instructions about what to do with such items. These interactions typically involve agents external to the ERP system. Such agents could be humans such as loading-dock employees with bar-code scanners or machineries such as robots or other automated systems.
Because of its complexity and centrality to an enterprise, an ERP system is typically tested fairly carefully before it is placed into full deployment in the enterprise. Most of the fully computerized aspects of the ERP system may be tested at a software-simulated full-scale load so as to ensure that the ERP system will perform adequately under a real computing or computer-processing workload. However, it is difficult to fully test the entire ERP system, specifically including external interactors, such as external agents noted above, under full load prior to a full deployment. That is because such a full test may require time- and cost-consuming observations of a large number of external interactors in order to obtain the service times of the external interactors. Without such actual observations, it may be difficult to know the per-item service time, especially if: (1) the item varies according to parameters of the item, such as the weight and size for a physical parcel or the size of a software application to be installed; (2) the process of observing the item may influence or perturb its service time—for example, a human worker might work unusually rapidly if another person is standing there with a stopwatch; and (3) it is simply too expensive to employ enough observers to get an accurate set of measurements of the service time, or any combination thereof.
Consequently, for practical reasons, it is often necessary to test the ERP system under a relatively light load with observations for a sampling or subset of all of its external interactors and to then extrapolate the results to predict the system performance under full load. However, it is difficult to make such a prediction with accuracy because the extrapolation of system performance for a light load may not expose the ERP system to queuing delays that only happen or appear under heavier loads. Thus, at times, an ERP system that appears to perform sufficiently well in pre-deployment testing ends does not perform well enough in full deployment. That is, as a queue of items flowing through an enterprise builds up, the delay to the processing of such items by an external interactor changes from being governed by the interactor's service time (how long it takes the interactor to handle one item, with no queuing) to be governed by queuing delays. For example, if it normally takes one minute for a loading-dock worker to process a parcel, but there is currently a queue of 100 parcels for the worker to process, the total delay for processing the next parcel added to the queue will be about 100 minutes.
Accordingly, it is beneficial to take into account conditions at external interactors of an ERP system so as to more accurately test and predict the performance of such an ERP system when it is deployed under full load.